#ifndef _BG_PARTSYS_H_
#define _BG_PARTSYS_H_

namespace part2d
{
	class Part2D;
}
#include "bg_element.h"

namespace background
{
class	BGPartSys : public BGElement
{
public:
							BGPartSys(BGScene*	pScene);
	virtual					~BGPartSys();
	virtual void			Render(const math::Vec2& Offset, float	Scale) ;
	virtual void			Tick(float dt);
	virtual void			Load(LuaPlus::LuaObject& Obj);
	virtual void			Save(script::WriteLua* pWL);
	virtual void			SetPartSys(const std::string& File);
	virtual const char*		GetName()  { return m_PartSys.c_str(); };
	virtual void			OnElementReset();

protected:
	virtual	void			CopyData(BGElement*	pFrom)
	{
		BGElement::CopyData(pFrom);
		m_PartSys = ((BGPartSys*)pFrom)->m_PartSys;		
	}
	part2d::Part2D*			m_pSystem;
	std::string				m_PartSys;
};

} // namespace background

#endif // _BG_PARTSYS_H_